package oj.oj_135;

import java.util.*;

public class Solution {
    public int singleNumber(int[] nums) {
        // 统计每个元素的出现次数
        Map<Integer, Integer> countMap = new TreeMap<>();
        for (int n : nums) {
            // count 代表 n 这个数字之前出现的次数
            int count = countMap.getOrDefault(n, 0);
            count++;
            // 放回 countMap 中
            countMap.put(n, count);
        }

        // 遍历所有的 元素-次数 的记录，找到次数 == 1 关联的元素返回
        for (Map.Entry<Integer, Integer> entry : countMap.entrySet()) {
            int e = entry.getKey();
            int count = entry.getValue();
            if (count == 1) {
                return e;
            }
        }

        // 随便返回一个数字
        return 19999999;
    }
}

